অ্যাপাচি আইভি (Apache Ivy) একটি ডিপেনডেন্সি ম্যানেজমেন্ট টুল, যা ডিপেনডেন্সি রেজলভেশন এবং ম্যানেজমেন্ট সহজ করে তোলে। retrieve
টাস্কটি আইভির অন্যতম গুরুত্বপূর্ণ টাস্ক, যা ডিপেনডেন্সি ফাইলগুলিকে নির্দিষ্ট গন্তব্যে ডাউনলোড বা রিট্রিভ করতে ব্যবহৃত হয়। এটি বিভিন্ন অপশন সহ আসে, যা ডিপেনডেন্সি ফাইল সংগ্রহের প্রক্রিয়াকে কাস্টমাইজ করতে সহায়তা করে।
নিচে retrieve
টাস্কের বিভিন্ন অপশন এবং তাদের ব্যবহার আলোচনা করা হলো।
retrieve
টাস্কের সাধারণ সিঙ্কসেট (Syntax)<ivy:retrieve [attributes] />
এখানে, attributes
হল অপশনগুলির তালিকা যা আপনি retrieve
টাস্কে ব্যবহার করতে পারেন।
retrieve
টাস্কের বিভিন্ন অপশনpattern
– ডাউনলোডের পাথ কনফিগারেশনpattern
অপশনটি ব্যবহার করে আপনি নির্দিষ্ট করতে পারেন কোথায় ডিপেনডেন্সি ফাইলগুলি ডাউনলোড হবে। এটি একটি পাথ প্যাটার্ন যা ফাইলের অবস্থান নির্ধারণ করে। এটি বেশিরভাগ সময় lib/[artifact]-[revision].[ext]
ধরনের প্যাটার্ন হয়।
<ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
এখানে, [artifact]
, [revision]
, এবং [ext]
হল আইভি দ্বারা স্বয়ংক্রিয়ভাবে প্রতিস্থাপিত ভেরিয়েবল। [artifact]
হল লাইব্রেরির নাম, [revision]
হল ভার্সন, এবং [ext]
হল ফাইলের এক্সটেনশন (যেমন .jar
বা .pom
)।
basedir
– বেস ডিরেক্টরি নির্ধারণbasedir
অপশনটি ব্যবহার করে আপনি ডিপেনডেন্সি ফাইলগুলো কোথায় ডাউনলোড হবে তা নির্দিষ্ট করতে পারেন। এটি আপনার প্রোজেক্টের ডিরেক্টরি হতে পারে।
<ivy:retrieve basedir="libs"/>
এখানে, libs
ফোল্ডারে ডিপেনডেন্সি ফাইলগুলি ডাউনলোড হবে।
retrievePatterns
– একাধিক প্যাটার্ন ব্যবহারআপনি একাধিক ডাউনলোড প্যাটার্ন কনফিগার করতে retrievePatterns
অপশন ব্যবহার করতে পারেন। এটি একাধিক ডিরেক্টরি এবং ফাইল প্যাটার্নে ডিপেনডেন্সি ফাইল সংগ্রহ করতে সাহায্য করে।
<ivy:retrieve retrievePatterns="lib/[artifact]/[artifact]-[revision].jar, lib/[artifact]-[revision].jar"/>
এখানে, একই লাইব্রেরি দুটি ভিন্ন প্যাটার্নে ডাউনলোড করা হবে।
confs
– নির্দিষ্ট কনফিগারেশন নির্বাচনconfs
অপশনটি ব্যবহার করে আপনি নির্দিষ্ট কনফিগারেশন (যেমন compile
, runtime
, বা test
) থেকে ডিপেনডেন্সি রিট্রিভ করতে পারেন। এই অপশনটি একাধিক কনফিগারেশন গ্রহণ করতে পারে।
<ivy:retrieve confs="compile, runtime"/>
এখানে, compile
এবং runtime
কনফিগারেশন থেকে ডিপেনডেন্সি ফাইলগুলি ডাউনলোড হবে।
exclude
– নির্দিষ্ট ডিপেনডেন্সি বাদ দেওয়াexclude
অপশনটি ব্যবহার করে আপনি কোনো নির্দিষ্ট ডিপেনডেন্সি বাদ দিতে পারেন। উদাহরণস্বরূপ, যদি আপনি একটি লাইব্রেরি বা ভার্সন বাদ দিতে চান, তাহলে এটি ব্যবহার করবেন।
<ivy:retrieve exclude="org.apache.commons:commons-lang3"/>
এখানে, commons-lang3
লাইব্রেরি ডাউনলোড হতে বাদ যাবে।
overwrite
– পূর্ববর্তী ডিপেনডেন্সি ওভাররাইট করাoverwrite
অপশনটি ব্যবহার করে আপনি আগের ডাউনলোড করা ফাইলগুলোকে নতুন ডাউনলোড ফাইল দিয়ে ওভাররাইট করতে পারবেন। ডিফল্টভাবে এটি false
থাকে, যার মানে হল যে পুরনো ফাইলগুলো রিট্রিভ করা হবে না।
<ivy:retrieve overwrite="true"/>
এখানে, আগের ডাউনলোড করা ফাইলগুলো নতুন ডিপেনডেন্সি দিয়ে ওভাররাইট হবে।
artifact
– নির্দিষ্ট আর্টিফ্যাক্ট রিট্রিভ করাএই অপশনটি ব্যবহার করে আপনি নির্দিষ্ট আর্টিফ্যাক্ট (যেমন .jar
, .pom
ফাইল) রিট্রিভ করতে পারবেন। এটি ডিপেনডেন্সি ফাইলের এক্সটেনশন নির্দিষ্ট করে।
<ivy:retrieve artifact="jar"/>
এখানে, শুধুমাত্র .jar
ফাইলটি ডাউনলোড হবে।
branch
– শাখা নির্দিষ্ট করাbranch
অপশনটি ব্যবহার করে আপনি নির্দিষ্ট শাখার (branch) ডিপেনডেন্সি রিট্রিভ করতে পারেন। এটি সাধারণত ivy.xml
ফাইলে ডিফাইন করা হয়।
<ivy:retrieve branch="release"/>
এখানে, release
শাখার ডিপেনডেন্সি রিট্রিভ করা হবে।
একটি পূর্ণাঙ্গ উদাহরণ, যেখানে বিভিন্ন অপশন ব্যবহার করা হয়েছে:
<ivy:retrieve pattern="libs/[artifact]-[revision].[ext]" basedir="downloads" confs="compile, runtime" overwrite="true"/>
এখানে:
libs/
ডিরেক্টরিতে [artifact]-[revision].[ext]
প্যাটার্ন অনুযায়ী ডাউনলোড হবে।compile
এবং runtime
কনফিগারেশন থেকে ডিপেনডেন্সি রিট্রিভ করা হবে।অ্যাপাচি আইভি retrieve
টাস্কের মাধ্যমে ডিপেনডেন্সি ফাইলগুলো ডাউনলোড এবং ম্যানেজ করার কার্যক্রম সহজ করে তোলে। এটি বিভিন্ন অপশন যেমন pattern
, basedir
, confs
, exclude
, overwrite
, ইত্যাদি সাপোর্ট করে, যা ডিপেনডেন্সি সংগ্রহের প্রক্রিয়াকে কাস্টমাইজ এবং অপ্টিমাইজ করতে সহায়তা করে। retrieve
টাস্কের সাহায্যে আপনি আপনার প্রোজেক্টের লাইব্রেরি ম্যানেজমেন্ট এবং ডিপেনডেন্সি রেজলভেশন সহজে পরিচালনা করতে পারেন।
common.read_more